The present invention relates generally to the field of hardware, firmware and/or software engineering, and more particularly to a method of firmware and/or software testing.
Hardware, firmware and/or software testing is an investigation conducted to provide information about the quality of the firmware/software under test. Testing techniques include, but are not limited to, the process of executing a program or application with the intent of finding firmware/software bugs (errors or other defects).
Testing methods include static testing, dynamic testing, white-box testing, black-box testing, and grey-box testing. Testing can also be categorized by the testing level that includes unit testing, integration testing, component interface testing, and system testing. Further, testing can be classified according to testing type that include installation testing, functional testing, and regression testing. In addition, testing can be conducted either manually or automatically.
A white-box testing tests internal structures or workings of a program, as opposed to the functionality exposed to end-users. In white-box testing, an internal perspective of the system, as well as programming skills, are used to design test cases. A tester chooses inputs to exercise paths through the code and determines the appropriate outputs. A white-box testing can be applied at the unit, integration and system levels of the firmware/software testing process.